/* Copyright 2018 JDCLOUD.COM

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http:#www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

Redis Instance Order API
查询缓存Redis订单结果

OpenAPI spec version: v1
Contact: 

NOTE: This class is auto generated by the jdcloud code generator program.
*/


#ifndef RedisApiModel_h
#define RedisApiModel_h
#import <JDCloudOCSDKCore/JDCloudOCSDKCore.h>
#import <JDCloudOCSDKCommon/JDCloudOCSDKCommon.h>
#import <JDCloudOCSDKCharge/JDCloudOCSDKCharge.h>
#import <JDCloudOCSDKRedis/RedisModel.h>


@interface RedisDescribeBackupPolicyRequest:JDCloudRequest

/// 缓存Redis实例ID，是访问实例的唯一标识
@property (strong,nonatomic,nonnull)  NSString*  cacheInstanceId;
-(id) initWithRegion:(NSString *)regionId
cacheInstanceId:(NSString*)cacheInstanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
cacheInstanceId:(NSString*)cacheInstanceId;

@end

@interface RedisCreateBackupRequest:JDCloudRequest

/// 备份文件名称，只支持英文数字和下划线的组合，长度不超过32个字符
@property (strong,nonatomic,nonnull)  NSString*  fileName;
/// 备份类型：手动备份为1，只能为手动备份
@property (strong,nonatomic,nonnull)  NSNumber*  backupType;
/// 缓存Redis实例ID，是访问实例的唯一标识
@property (strong,nonatomic,nonnull)  NSString*  cacheInstanceId;
-(id) initWithRegion:(NSString *)regionId
fileName:(NSString*)fileName
backupType:(NSNumber*)backupType
cacheInstanceId:(NSString*)cacheInstanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
fileName:(NSString*)fileName
backupType:(NSNumber*)backupType
cacheInstanceId:(NSString*)cacheInstanceId;

@end

@interface RedisCreateBackupResult : NSObject
/// 本次备份任务ID，可用于查询本次备份任务的结果
 @property (strong,nonatomic,nonnull)  NSString*  baseId;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithBaseId:(NSString*) baseId;
@end

@interface RedisDescribeBackupPolicyResult : NSObject
/// 备份周期，包括：Monday，Tuesday，Wednesday，Thursday，Friday，Saturday，Sunday，多个用逗号分隔
 @property (strong,nonatomic,nonnull)  NSString*  backupPeriod;
/// 备份时间，格式为：HH:mm-HH:mm 时区，例如&quot;01:00-02:00 +0800&quot;，表示东八区的1点到2点
 @property (strong,nonatomic,nonnull)  NSString*  backupTime;
/// 下次自动备份时间段，ISO 8601标准的UTC时间，格式为：YYYY-MM-DDTHH:mm:ssZ~YYYY-MM-DDTHH:mm:ssZ
 @property (strong,nonatomic,nonnull)  NSString*  nextBackupTime;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithBackupPeriod:(NSString*) backupPeriod

    backupTime:(NSString*)backupTime

    nextBackupTime:(NSString*)nextBackupTime;
@end

@interface RedisModifyCacheInstanceAttributeRequest:JDCloudRequest

/// 实例的名称，名称只支持数字、字母、英文下划线、中文，且不少于2字符不超过32字符
@property (strong,nonatomic,nonnull)  NSString*  cacheInstanceName;
/// 实例的描述，不能超过256个字符
@property (strong,nonatomic,nonnull)  NSString*  cacheInstanceDescription;
/// 缓存Redis实例ID，是访问实例的唯一标识
@property (strong,nonatomic,nonnull)  NSString*  cacheInstanceId;
-(id) initWithRegion:(NSString *)regionId
cacheInstanceName:(NSString*)cacheInstanceName
cacheInstanceDescription:(NSString*)cacheInstanceDescription
cacheInstanceId:(NSString*)cacheInstanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
cacheInstanceName:(NSString*)cacheInstanceName
cacheInstanceDescription:(NSString*)cacheInstanceDescription
cacheInstanceId:(NSString*)cacheInstanceId;

@end

@interface RedisDescribeSlowLogRequest:JDCloudRequest

/// 页码；默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为10；取值范围[10, 100]
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 开始时间
@property (strong,nonatomic,nonnull)  NSString*  startTime;
/// 结束时间
@property (strong,nonatomic,nonnull)  NSString*  endTime;
/// 分片id
@property (strong,nonatomic,nonnull)  NSString*  shardId;
/// 缓存Redis实例ID，是访问实例的唯一标识
@property (strong,nonatomic,nonnull)  NSString*  cacheInstanceId;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
startTime:(NSString*)startTime
endTime:(NSString*)endTime
shardId:(NSString*)shardId
cacheInstanceId:(NSString*)cacheInstanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
startTime:(NSString*)startTime
endTime:(NSString*)endTime
shardId:(NSString*)shardId
cacheInstanceId:(NSString*)cacheInstanceId;

@end

@interface RedisResetCacheInstancePasswordRequest:JDCloudRequest

/// 密码，为空即为免密，不少于8字符不超过16字符
@property (strong,nonatomic,nonnull)  NSString*  password;
/// 缓存Redis实例ID，是访问实例的唯一标识
@property (strong,nonatomic,nonnull)  NSString*  cacheInstanceId;
-(id) initWithRegion:(NSString *)regionId
password:(NSString*)password
cacheInstanceId:(NSString*)cacheInstanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
password:(NSString*)password
cacheInstanceId:(NSString*)cacheInstanceId;

@end

@interface RedisDescribeBackupsRequest:JDCloudRequest

/// 页码；默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小；默认为10；取值范围[10, 100]
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 开始时间
@property (strong,nonatomic,nonnull)  NSString*  startTime;
/// 结束时间
@property (strong,nonatomic,nonnull)  NSString*  endTime;
/// 备份任务ID
@property (strong,nonatomic,nonnull)  NSString*  baseId;
/// 缓存Redis实例ID，是访问实例的唯一标识
@property (strong,nonatomic,nonnull)  NSString*  cacheInstanceId;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
startTime:(NSString*)startTime
endTime:(NSString*)endTime
baseId:(NSString*)baseId
cacheInstanceId:(NSString*)cacheInstanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
startTime:(NSString*)startTime
endTime:(NSString*)endTime
baseId:(NSString*)baseId
cacheInstanceId:(NSString*)cacheInstanceId;

@end

@interface RedisDeleteCacheInstanceRequest:JDCloudRequest

/// 缓存Redis实例ID，是访问实例的唯一标识
@property (strong,nonatomic,nonnull)  NSString*  cacheInstanceId;
-(id) initWithRegion:(NSString *)regionId
cacheInstanceId:(NSString*)cacheInstanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
cacheInstanceId:(NSString*)cacheInstanceId;

@end

@interface RedisDescribeClusterInfoRequest:JDCloudRequest

/// 缓存Redis实例ID，是访问实例的唯一标识
@property (strong,nonatomic,nonnull)  NSString*  cacheInstanceId;
-(id) initWithRegion:(NSString *)regionId
cacheInstanceId:(NSString*)cacheInstanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
cacheInstanceId:(NSString*)cacheInstanceId;

@end

@interface RedisModifyBackupPolicyRequest:JDCloudRequest

/// 备份时间，格式为：HH:mm-HH:mm 时区，例如&quot;01:00-02:00 +0800&quot;，表示东八区的1点到2点
@property (strong,nonatomic,nonnull)  NSString*  backupTime;
/// 备份周期，包括：Monday，Tuesday，Wednesday，Thursday，Friday，Saturday，Sunday，多个用逗号分隔
@property (strong,nonatomic,nonnull)  NSString*  backupPeriod;
/// 缓存Redis实例ID，是访问实例的唯一标识
@property (strong,nonatomic,nonnull)  NSString*  cacheInstanceId;
-(id) initWithRegion:(NSString *)regionId
backupTime:(NSString*)backupTime
backupPeriod:(NSString*)backupPeriod
cacheInstanceId:(NSString*)cacheInstanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
backupTime:(NSString*)backupTime
backupPeriod:(NSString*)backupPeriod
cacheInstanceId:(NSString*)cacheInstanceId;

@end

@interface RedisCreateCacheInstanceResult : NSObject
/// 实例ID
 @property (strong,nonatomic,nonnull)  NSString*  cacheInstanceId;
/// 订单编号
 @property (strong,nonatomic,nonnull)  NSString*  orderNum;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithCacheInstanceId:(NSString*) cacheInstanceId

    orderNum:(NSString*)orderNum;
@end

@interface RedisModifyCacheInstanceClassRequest:JDCloudRequest

/// 变更后的实例规格
@property (strong,nonatomic,nonnull)  NSString*  cacheInstanceClass;
/// 缓存Redis实例ID，是访问实例的唯一标识
@property (strong,nonatomic,nonnull)  NSString*  cacheInstanceId;
-(id) initWithRegion:(NSString *)regionId
cacheInstanceClass:(NSString*)cacheInstanceClass
cacheInstanceId:(NSString*)cacheInstanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
cacheInstanceClass:(NSString*)cacheInstanceClass
cacheInstanceId:(NSString*)cacheInstanceId;

@end

@interface RedisDescribeInstanceConfigRequest:JDCloudRequest

/// 缓存Redis实例ID，是访问实例的唯一标识
@property (strong,nonatomic,nonnull)  NSString*  cacheInstanceId;
-(id) initWithRegion:(NSString *)regionId
cacheInstanceId:(NSString*)cacheInstanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
cacheInstanceId:(NSString*)cacheInstanceId;

@end

@interface RedisDescribeDownloadUrlRequest:JDCloudRequest

/// 备份任务ID
@property (strong,nonatomic,nonnull)  NSString*  baseId;
/// 缓存Redis实例ID，是访问实例的唯一标识
@property (strong,nonatomic,nonnull)  NSString*  cacheInstanceId;
-(id) initWithRegion:(NSString *)regionId
baseId:(NSString*)baseId
cacheInstanceId:(NSString*)cacheInstanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
baseId:(NSString*)baseId
cacheInstanceId:(NSString*)cacheInstanceId;

@end

@interface RedisModifyCacheInstanceClassResult : NSObject
/// 本次变更请求的订单编号
 @property (strong,nonatomic,nonnull)  NSString*  orderNum;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithOrderNum:(NSString*) orderNum;
@end

@interface RedisRestoreInstanceRequest:JDCloudRequest

/// 备份任务ID
@property (strong,nonatomic,nonnull)  NSString*  baseId;
/// 缓存Redis实例ID，是访问实例的唯一标识
@property (strong,nonatomic,nonnull)  NSString*  cacheInstanceId;
-(id) initWithRegion:(NSString *)regionId
baseId:(NSString*)baseId
cacheInstanceId:(NSString*)cacheInstanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
baseId:(NSString*)baseId
cacheInstanceId:(NSString*)cacheInstanceId;

@end

@interface RedisDescribeCacheInstanceRequest:JDCloudRequest

/// 缓存Redis实例ID，是访问实例的唯一标识
@property (strong,nonatomic,nonnull)  NSString*  cacheInstanceId;
-(id) initWithRegion:(NSString *)regionId
cacheInstanceId:(NSString*)cacheInstanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
cacheInstanceId:(NSString*)cacheInstanceId;

@end

@interface RedisDescribeInstanceClassRequest:JDCloudRequest

/// 缓存Redis的版本号：目前有2.8和4.0，默认为2.8
@property (strong,nonatomic,nonnull)  NSString*  redisVersion;
-(id) initWithRegion:(NSString *)regionId
redisVersion:(NSString*)redisVersion;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
redisVersion:(NSString*)redisVersion;

@end

@interface RedisDescribeUserQuotaResult : NSObject
/// Quota
 @property (strong,nonatomic,nonnull)  Quota*  quota;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithQuota:(Quota*) quota;
@end

@interface RedisDescribeUserQuotaResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property RedisDescribeUserQuotaResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(RedisDescribeUserQuotaResult*) result;
@end

@interface RedisDescribeUserQuotaRequest:JDCloudRequest

@end

@interface RedisDescribeInstanceConfigResult : NSObject
/// InstanceConfig
 @property (strong,nonatomic,nonnull)  NSArray<ConfigItem*>*  instanceConfig;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithInstanceConfig:(NSArray<ConfigItem*>*) instanceConfig;
@end

@interface RedisDescribeInstanceConfigResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property RedisDescribeInstanceConfigResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(RedisDescribeInstanceConfigResult*) result;
@end

@interface RedisModifyInstanceConfigRequest:JDCloudRequest

/// 要修改的配置参数名和参数值
@property (strong,nonatomic,nonnull)  NSArray<ConfigItem*>*  instanceConfig;
/// 缓存Redis实例ID，是访问实例的唯一标识
@property (strong,nonatomic,nonnull)  NSString*  cacheInstanceId;
-(id) initWithRegion:(NSString *)regionId
instanceConfig:(NSArray<ConfigItem*>*)instanceConfig
cacheInstanceId:(NSString*)cacheInstanceId;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
instanceConfig:(NSArray<ConfigItem*>*)instanceConfig
cacheInstanceId:(NSString*)cacheInstanceId;

@end

@interface RedisDescribeCacheInstancesResult : NSObject
/// CacheInstances
 @property (strong,nonatomic,nonnull)  NSArray<CacheInstance*>*  cacheInstances;
/// 实例总数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithCacheInstances:(NSArray<CacheInstance*>*) cacheInstances

    totalCount:(NSNumber*)totalCount;
@end

@interface RedisDescribeBackupsResult : NSObject
/// Backups
 @property (strong,nonatomic,nonnull)  NSArray<Backup*>*  backups;
/// 备份结果总数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithBackups:(NSArray<Backup*>*) backups

    totalCount:(NSNumber*)totalCount;
@end

@interface RedisDescribeBackupsResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property RedisDescribeBackupsResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(RedisDescribeBackupsResult*) result;
@end

@interface RedisDescribeDownloadUrlResult : NSObject
/// DownloadUrls
 @property (strong,nonatomic,nonnull)  NSArray<DownloadUrl*>*  downloadUrls;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithDownloadUrls:(NSArray<DownloadUrl*>*) downloadUrls;
@end

@interface RedisResetCacheInstancePasswordResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface RedisResetCacheInstancePasswordResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property RedisResetCacheInstancePasswordResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(RedisResetCacheInstancePasswordResult*) result;
@end

@interface RedisModifyCacheInstanceAttributeResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface RedisModifyCacheInstanceAttributeResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property RedisModifyCacheInstanceAttributeResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(RedisModifyCacheInstanceAttributeResult*) result;
@end

@interface RedisModifyBackupPolicyResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface RedisModifyBackupPolicyResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property RedisModifyBackupPolicyResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(RedisModifyBackupPolicyResult*) result;
@end

@interface RedisDescribeDownloadUrlResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property RedisDescribeDownloadUrlResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(RedisDescribeDownloadUrlResult*) result;
@end

@interface RedisRestoreInstanceResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface RedisRestoreInstanceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property RedisRestoreInstanceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(RedisRestoreInstanceResult*) result;
@end

@interface RedisDescribeClusterInfoResult : NSObject
/// 集群内部信息
 @property (strong,nonatomic,nonnull)  ClusterInfo*  info;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithInfo:(ClusterInfo*) info;
@end

@interface RedisDescribeClusterInfoResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property RedisDescribeClusterInfoResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(RedisDescribeClusterInfoResult*) result;
@end

@interface RedisDescribeCacheInstancesResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property RedisDescribeCacheInstancesResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(RedisDescribeCacheInstancesResult*) result;
@end

@interface RedisCreateBackupResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property RedisCreateBackupResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(RedisCreateBackupResult*) result;
@end

@interface RedisCreateCacheInstanceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property RedisCreateCacheInstanceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(RedisCreateCacheInstanceResult*) result;
@end

@interface RedisModifyCacheInstanceClassResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property RedisModifyCacheInstanceClassResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(RedisModifyCacheInstanceClassResult*) result;
@end

@interface RedisCreateCacheInstanceRequest:JDCloudRequest

/// 创建实例时指定的信息
@property (strong,nonatomic,nonnull)  CacheInstanceSpec*  cacheInstance;
/// 实例的计费类型
@property (strong,nonatomic,nonnull)  ChargeSpec*  charge;
-(id) initWithRegion:(NSString *)regionId
cacheInstance:(CacheInstanceSpec*)cacheInstance
charge:(ChargeSpec*)charge;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
cacheInstance:(CacheInstanceSpec*)cacheInstance
charge:(ChargeSpec*)charge;

@end

@interface RedisDescribeCacheInstancesRequest:JDCloudRequest

/// 页码：取值范围[1,∞)，默认为1
@property (strong,nonatomic,nonnull)  NSNumber*  pageNumber;
/// 分页大小：取值范围[10, 100]，默认为10
@property (strong,nonatomic,nonnull)  NSNumber*  pageSize;
/// 过滤属性：
   /// cacheInstanceId - 实例Id，精确匹配，可选择多个
   /// cacheInstanceName - 实例名称，模糊匹配
   /// cacheInstanceStatus - 实例状态，精确匹配，可选择多个(running：运行中，error：错误，creating：创建中，changing：变配中，configuring：参数修改中，restoring：备份恢复中，deleting：删除中)
   /// redisVersion - redis引擎版本，精确匹配，可选择2.8和4.0
   /// instanceType - 实例类型，精确匹配（redis表示主从版，redis_cluster表示集群版）
   /// chargeMode - 计费类型，精确匹配（prepaid_by_duration表示包年包月预付费，postpaid_by_duration表示按配置后付费）
   /// 
@property (strong,nonatomic,nonnull)  NSArray<Filter*>*  filters;
/// 排序属性：
   /// createTime - 按创建时间排序(asc表示按时间正序，desc表示按时间倒序)
   /// 
@property (strong,nonatomic,nonnull)  NSArray<Sort*>*  sorts;
/// 标签的过滤条件
@property (strong,nonatomic,nonnull)  NSArray<TagFilter*>*  tagFilters;
-(id) initWithRegion:(NSString *)regionId
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters
sorts:(NSArray<Sort*>*)sorts
tagFilters:(NSArray<TagFilter*>*)tagFilters;

-(id) initWithRegion:(NSString *)regionId
             version:(NSString *)version
pageNumber:(NSNumber*)pageNumber
pageSize:(NSNumber*)pageSize
filters:(NSArray<Filter*>*)filters
sorts:(NSArray<Sort*>*)sorts
tagFilters:(NSArray<TagFilter*>*)tagFilters;

@end

@interface RedisDescribeSlowLogResult : NSObject
/// SlowLogs
 @property (strong,nonatomic,nonnull)  NSArray<SlowLog*>*  slowLogs;
/// 慢查询日志总条数
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithSlowLogs:(NSArray<SlowLog*>*) slowLogs

    totalCount:(NSNumber*)totalCount;
@end

@interface RedisDescribeSlowLogResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property RedisDescribeSlowLogResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(RedisDescribeSlowLogResult*) result;
@end

@interface RedisDeleteCacheInstanceResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface RedisDeleteCacheInstanceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property RedisDeleteCacheInstanceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(RedisDeleteCacheInstanceResult*) result;
@end

@interface RedisDescribeBackupPolicyResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property RedisDescribeBackupPolicyResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(RedisDescribeBackupPolicyResult*) result;
@end

@interface RedisDescribeCacheInstanceResult : NSObject
/// 该实例的详细信息
 @property (strong,nonatomic,nonnull)  CacheInstance*  cacheInstance;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithCacheInstance:(CacheInstance*) cacheInstance;
@end

@interface RedisDescribeCacheInstanceResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property RedisDescribeCacheInstanceResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(RedisDescribeCacheInstanceResult*) result;
@end

@interface RedisModifyInstanceConfigResult : NSObject

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
@end

@interface RedisModifyInstanceConfigResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property RedisModifyInstanceConfigResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(RedisModifyInstanceConfigResult*) result;
@end

@interface RedisDescribeInstanceClassResult : NSObject
/// InstanceClasses
 @property (strong,nonatomic,nonnull)  NSArray<InstanceClass*>*  instanceClasses;
/// TotalCount
 @property (strong,nonatomic,nonnull)  NSNumber*  totalCount;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;
-(id) initWithInstanceClasses:(NSArray<InstanceClass*>*) instanceClasses

    totalCount:(NSNumber*)totalCount;
@end

@interface RedisDescribeInstanceClassResponse : NSObject

@property NSString* requestId;

@property ServiceError* error;

@property RedisDescribeInstanceClassResult* result;

-(NSMutableDictionary*) dictionary;

-(id) initWithDic:(NSDictionary*)dictionary;

-(id) initWithRequestId:(NSString*) requestId
        error:(ServiceError*) error
        result:(RedisDescribeInstanceClassResult*) result;
@end

#endif /* RedisApiModel_h */
